module.exports = {
  devServer: {
    open: true,
    port: 7956,
    host: '127.0.0.1'
  },

  // 配置开发阶段和发布阶段 分别进入不同的入口文件
  chainWebpack: config => {
    // production阶段
    config.when(process.env.NODE_ENV === 'production', config => {
      // entry找到默认的打包入口，调用clear则是删除默认的打包入口
      // add添加新的打包入口
      config.entry('app').clear().add('./src/main-prod.js');

      config.set('externals', {
        vue: 'Vue',
        'vue-router': 'VueRouter',
        axios: 'axios',
        lodash: '_',
        echarts: 'echarts',
        nprogress: 'NProgress',
        'vue-quill-editor': 'VueQuillEditor'
      });

      config.plugin('html').tap(args => {
        args[0].isProd = true;
        return args;
      })
    });

    // development阶段
    config.when(process.env.NODE_ENV === 'development', config => {
      // entry找到默认的打包入口，调用clear则是删除默认的打包入口
      // add添加新的打包入口
      config.entry('app').clear().add('./src/main-dev.js');

      config.plugin('html').tap(args => {
        args[0].isProd = false;
        return args;
      })
    });
  }
}
